Arduino

Arduino Projeleri: Başlangıç İçin En İyi 10 Proje

Arduino projeleri ile elektronik dünyasına adım atın. Aşağıda, başlangıç ve orta seviyeye uygun 10 Arduino projesi listelenmiştir. Her proje için adı, açıklaması, kullanılan bileşenler, yapım adımları, devre bağlantısı, örnek kaynak kodu, bu projeden kazanılacak öğrenimler ve geliştirme için öneriler sunulmuştur. Projeler, LED’lerden sensörlere, motorlardan ekranlara farklı bileşenleri kullanarak geniş bir kullanım alanına hitap eder.

Arduino’nun nasıl çalıştığını, kullanım alanlarını ve temel bileşenlerini öğrenmek için bu bağlantıyı ziyaret edebilirsiniz.

Devrelerinizi Tinkercad ile Simüle Edin
Fiziksel olarak bir devre kurmadan önce, bileşenlerin nasıl çalıştığını test etmek ister misiniz?
Tinkercad Circuits sayesinde, Arduino devrelerini çevrimiçi olarak simüle edebilir, kodlarınızı test edebilir ve bağlantıları kontrol edebilirsiniz.
Bu sayede hataları önceden görebilir ve projelerinizi daha verimli bir şekilde geliştirebilirsiniz.
Tinkercad’i keşfetmek için [buraya tıklayın].

Proje 1: LED Blink (LED Yakıp Söndürme)

Bağlantı Detayları

LED’in anot (uzun bacak) ucu Arduino’nun Dijital 13 pinine, katot (kısa bacak) ucu 220Ω direnç üzerinden GND pinine bağlanmıştır.

Proje Açıklaması

Bu proje Arduino dünyasının “Merhaba Dünya”sıdır: bir LED’i belirli aralıklarla yakıp söndürmek​. Arduino kartı üzerindeki dahili LED (genellikle dijital 13 numaralı pine bağlı) veya harici bir LED kullanılır. Kod, LED’i belli bir süre HIGH (yanık) yapıp sonra LOW (sönük) yaparak sürekli döngüde yanıp sönmesini sağlar. Bu basit uygulama dijital çıkış pinlerinin kontrolünü ve Arduino program yapısını öğrenmek için idealdir​.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • LED (dahili LED veya 5mm harici LED)
  • 220Ω direnç (harici LED kullanılıyorsa, LED’e seri bağlamak için)
  • Breadboard ve atlama kabloları (harici LED devresi için)
void setup() {
  pinMode(13, OUTPUT);   // LED pini çıkış
}
void loop() {
  digitalWrite(13, HIGH); // LED yak
  delay(1000);            // 1 sn bekle
  digitalWrite(13, LOW);  // LED söndür
  delay(1000);            // 1 sn bekle
}

Proje 2: Sıcaklık Sensörü (LM35 ile Termometre)

Bağlantı Detayları

  • VCC (Sağ bacak) → Arduino 5V pinine bağlanmıştır.
  • GND (Sol bacak) → Arduino GND pinine bağlanmıştır.
  • VOUT (Orta bacak) → Arduino A0 (Analog giriş) pinine bağlanmıştır.

Proje Açıklaması

Bu projede bir LM35 analog sıcaklık sensörü kullanarak ortam sıcaklığını ölçüp Arduino ile okumayı öğreneceğiz. LM35, sıcaklığı çıkış voltajı olarak veren bir sensördür (her 10 mV artış ~1°C’ye denk gelir). Arduino’nun analog girişinden bu değeri okuyup Santigrat derece cinsine çevirebiliriz​.Ölçülen sıcaklık seri monitörde görüntülenebilir veya istenirse bir LCD ekrana bastırılabilir. Bu basit termometre projesi ile analog giriş okuma ve sensör veri işleme pratiği yapılır​.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • LM35 sıcaklık sensörü (üç bacaklı analog sensör)
  • Bağlantı kabloları
// Sensörün bağlı olduğu analog pin tanımlanıyor
int sensorPin = A0;

void setup() {
  // Seri haberleşmeyi 9600 baud hızında başlatır
  Serial.begin(9600);
}

void loop() {
  // Belirtilen analog pin üzerinden sensör değerini oku (0-1023 arası)
  int deger = analogRead(sensorPin);

  // Okunan ADC değerini, 5V referansına göre voltaja çevirir
  // ADC 10-bit olduğu için 1023 maksimum değere sahiptir
  float volt = deger * (5.0 / 1023.0);

  // Voltaj değerini, LM35 sensörün çıkışına göre sıcaklık değerine dönüştürür
  // LM35 sensörü 10mV/°C oranında çalışır; bu yüzden voltaj değeri 100 ile çarpılır
  float sicaklikC = volt * 100;   // LM35: 10mV per °C 

  // Sıcaklık değerini seri monitöre yazdırır
  Serial.print("Sıcaklık: ");
  Serial.print(sicaklikC);
  Serial.println(" *C");

  // 1 saniye (1000 milisaniye) bekler ve döngüyü tekrarlamak üzere tekrar başa döner
  delay(1000);
}

Proje 3: Işık Sensörü ile Gece/Gündüz Algılama (LDR Kullanımı)

Bağlantı Detayları

  • LDR’nin bir ucu → 5V pinine bağlanmıştır.
  • LDR’nin diğer ucu → A0 (Analog giriş) pinine bağlanmıştır.
  • 10KΩ direnç → Bir ucu LDR’nin A0 bağlantı noktasına, diğer ucu GND pinine bağlanmıştır.

Proje Açıklaması

Bu projede bir LDR (Light Dependent Resistor – foto direnç) kullanarak ortamdaki ışık seviyesini ölçen basit bir sistem kuracağız. LDR, üzerine düşen ışık miktarına göre direnci değişen bir sensördür. Bu sensör ve sabit bir direnç ile bir gerilim bölücü oluşturup Arduino’nun analog girişinden ışık seviyesini okuyabiliriz. Arduino her saniye LDR’den okunan değeri seri porttan yazdırarak ortamın ne kadar aydınlık veya karanlık olduğunu gösterir​.Bu proje ile analog sensör okuma ve ortam ışığına göre karar verme temelini öğrenirsiniz.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • LDR (foto direnç) sensör
  • 10kΩ direnç (LDR ile seri bağlantı için)
  • Bağlantı kabloları
// LDR'nin bağlı olduğu analog pini tanımlıyoruz
int ldrPin = A0;

void setup() {
  // Seri haberleşmeyi 9600 baud hızında başlatıyoruz
  Serial.begin(9600);
}

void loop() {
  // LDR'den analog veri okuyoruz (0-1023 arasında bir değer alır)
  int ldrDeger = analogRead(ldrPin);

  // Okunan ışık seviyesini seri monitöre yazdırıyoruz
  Serial.print("Işık seviyesi: ");
  Serial.println(ldrDeger);

  // 1 saniye bekleyerek okumaları belirli aralıklarla yapıyoruz
  delay(1000);
}

Proje 4: RGB LED ile Renk Kontrolü

Bağlantı Detayları

  • Kırmızı (R) bacağı → Dijital 9 pinine (220Ω direnç ile)
  • Yeşil (G) bacağı → Dijital 10 pinine (220Ω direnç ile)
  • Mavi (B) bacağı → Dijital 11 pinine (220Ω direnç ile)
  • GND bacağı → Arduino GND pinine bağlanmıştır.

Proje Açıklaması

Bu projede RGB LED kullanarak farklı renkler oluşturacağız. RGB LED içinde kırmızı, yeşil ve mavi olmak üzere üç LED bulunur ve bu üç rengi farklı parlaklıklarda karıştırarak neredeyse tüm renkleri elde edebiliriz​. Arduino’nun PWM çıkış pinleri sayesinde, her bir renk bileşenine 0-255 arasında değerler uygulayarak LED’in rengini kontrol edebiliriz. Örneğin, kırmızı 255, yeşil 0, mavi 0 değeri saf kırmızıyı verirken; farklı kombinasyonlarla sarı, mor, beyaz gibi renkler elde edilebilir. Bu proje, analogWrite (PWM) ile LED parlaklığı kontrolünü ve renk karışımı mantığını öğretir.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • Ortak katotlu RGB LED (4 bacaklı; bir bacağı ortak toprak)
  • 3× 220Ω direnç (her bir renk LED için seri direnç)
  • Bağlantı kabloları
// RGB LED'in bağlı olduğu pinler tanımlanıyor
#define RED_PIN 11   // Kırmızı LED pini
#define GREEN_PIN 10 // Yeşil LED pini
#define BLUE_PIN 9   // Mavi LED pini

void setup() {
  // Pinler çıkış (OUTPUT) olarak ayarlanıyor
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);
}

void loop() {
  // RGB LED belirli renklerde yanacak
  changeColor(255, 0, 0); // Kırmızı
  delay(1000); // 1 saniye bekle
  
  changeColor(0, 255, 0); // Yeşil
  delay(1000);
  
  changeColor(0, 0, 255); // Mavi
  delay(1000);
  
  changeColor(255, 255, 0); // Sarı
  delay(1000);
  
  changeColor(0, 255, 255); // Cyan
  delay(1000);
  
  changeColor(255, 0, 255); // Mor
  delay(1000);
  
  changeColor(255, 255, 255); // Beyaz (Tüm renkler açık)
  delay(1000);
  
  fadeColors(); // Renkler arasında yumuşak geçiş efekti
}

// Belirtilen renk değerlerini RGB LED'e uygular
void changeColor(int red, int green, int blue) {
  analogWrite(RED_PIN, red);   // Kırmızı parlaklığını ayarla
  analogWrite(GREEN_PIN, green); // Yeşil parlaklığını ayarla
  analogWrite(BLUE_PIN, blue);  // Mavi parlaklığını ayarla
}

// RGB LED'in renklerini yumuşak geçişlerle değiştirir
void fadeColors() {
  // Renkleri yavaşça artırma
  for (int i = 0; i <= 255; i++) {
    changeColor(i, 255 - i, i / 2); // Renk geçişi
    delay(10); // Geçişin yumuşak olması için kısa bir bekleme
  }
  
  // Renkleri yavaşça azaltma
  for (int i = 255; i >= 0; i--) {
    changeColor(i, 255 - i, i / 2); // Renk geçişi
    delay(10);
  }
}

Proje 5: Buton ile LED Kontrolü

Bağlantı Detayları

  • Ledin Anot (+) bacağı → Dijital 13 pinine (220Ω direnç ile)
  • Ledin Katot (-) bacağı → GND pinine
  • Butonun bir ucu → Dijital 2 pinine
  • Butonun diğer ucu → 5V pinine (10KΩ pull-down direnç ile)

Proje Açıklaması

Bu projede bir push-buton (basmalı düğme) kullanarak bir LED’i kontrol edeceğiz. Yani, butona basıldığında LED yanacak, bırakıldığında sönmesini sağlayacağız​. Bu, Arduino ile dijital giriş okumayı öğrenmek için klasik bir uygulamadır. Kullanıcı etkileşimini algılayıp buna göre çıktı vermeyi öğretir. Butonun durumu sürekli okunur ve HIGH/LOW (basıldı/bırakıldı) bilgisine göre LED’in durumu ayarlanır​. Bu proje ile if-else yapısını ve dijital girdi/çıktı mantığını deneyimleyebilirsiniz.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • LED (5mm)
  • 220Ω direnç (LED için)
  • 10kΩ direnç (buton için pull-down veya pull-up direnci olarak) – alternatif: Arduino iç pull-up kullanımı
  • Push-buton (4 bacaklı momentary buton)
  • Bağlantı kabloları
// Buton ve LED pinleri
const int buttonPin = 2;  // Butonun bağlı olduğu pin
const int ledPin = 8;     // LED'in bağlı olduğu pin

void setup() {
  pinMode(buttonPin, INPUT);  // Ne dahili ne harici direnç kullanıyoruz
  pinMode(ledPin, OUTPUT);    // LED çıkış olarak ayarlanır
}

void loop() {
  int butonDurum = digitalRead(buttonPin); // Butonun durumunu oku

  if (butonDurum == HIGH) {       // Butona basıldığında HIGH okunur
    digitalWrite(ledPin, HIGH);   // LED'i yak
  } else {                        // Buton serbestse
    digitalWrite(ledPin, LOW);    // LED'i söndür
  }
}

Proje 6: PIR Hareket Sensörü ile Buzzer Alarmı

Bağlantı Detayları

PIR Sensör Bağlantısı:

VCC → 5V pinine

GND → GND pinine

OUT → Dijital 2 pinine

Buzzer Bağlantısı:

Pozitif (+) ucu → Dijital 8 pinine

Negatif (-) ucu → GND pinine

Proje Açıklaması

Bu projede bir PIR (Passive Infrared) hareket sensörü kullanarak basit bir alarm sistemi yapacağız. PIR sensör, önündeki alanda hareket (insan ya da hayvan vücut ısısına bağlı infrared değişimi) algıladığında çıkış verir. Arduino, PIR sensöründen aldığı sinyal HIGH olduğunda bir buzzer’ı öttürerek alarm verecek, hareket olmadığında buzzer susacaktır​. Bu sayede temel bir güvenlik alarmı prototipi elde edeceğiz. Proje, dijital sensör okuma ve çıktı verme konusunu pekiştirir; PIR gibi bir sensör modülünün kullanımını öğretir.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • PIR hareket algılayıcı sensör (HC-SR501 modülü veya benzeri)
  • Pasif buzzer (veya piezo hoparlör)
  • Bağlantı kabloları
// PIR sensörünün bağlı olduğu pin
int pirPin = 2;      

// Buzzer'ın bağlı olduğu pin
int buzzerPin = 8;    

void setup() {
  // PIR sensörünü giriş (INPUT) olarak ayarlıyoruz
  pinMode(pirPin, INPUT);  

  // Buzzer'ı çıkış (OUTPUT) olarak ayarlıyoruz
  pinMode(buzzerPin, OUTPUT); 
}

void loop() {
  // PIR sensöründen hareket algılama durumunu oku (HIGH veya LOW döner)
  int hareket = digitalRead(pirPin);

  // Eğer hareket algılanırsa (HIGH), buzzer ötsün
  if(hareket == HIGH) {
    digitalWrite(buzzerPin, HIGH);  
  } 
  // Eğer hareket algılanmazsa (LOW), buzzer kapansın
  else {  
    digitalWrite(buzzerPin, LOW);   
  }
}

Proje 7: Potansiyometre ile Servo Motor Kontrolü

Bağlantı Detayları

Potansiyometre Bağlantıları:

Orta bacak → Arduino’nun A0 analog girişine (Yeşil kablo)

Bir kenar bacak → GND (Siyah kablo)

Diğer kenar bacak → 5V (Kırmızı kablo)

Servo Motor Bağlantıları:

Kırmızı kablo → 5V

Siyah kablo → GND

Turuncu kablo (sinyal) → D9 (PWM pinine)

Proje Açıklaması

Bu projede bir servo motorun açısını bir potansiyometreyi çevirerek kontrol edeceğiz. Servo motorlar belirli açılara konumlanabilen motorlardır (genelde 0-180° arası). Arduino’ya bağlı bir potansiyometreden okunan analog değer, servo motorun konum açısına çevrilecek ve servo o açıya hareket edecek​.Örneğin, potansiyometreyi minimum konuma çevirdiğimizde servo 0°’yi, maksimumda 180°’yi gösterecek. Bu proje ile analog giriş değerini ölçekleyerek bir motor kontrol etmeyi, Servo kütüphanesinin kullanımını öğrenirsiniz.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • SG90 veya benzeri mikro servo motor (3 uçlu)
  • 10kΩ potansiyometre (trimpot veya döner potansiyometre)
  • Bağlantı kabloları
#include <Servo.h>  // Servo motor kütüphanesini ekliyoruz

Servo myservo;  // Servo motor için bir nesne oluşturuyoruz

void setup() {
  myservo.attach(9);  // Servo motorun sinyal pini Arduino'nun 9 numaralı pinine bağlanıyor
}

void loop() {
  int deger = analogRead(A0);  // A0 pininden analog okuma yap (0-1023 arasında bir değer alır)
  
  // Okunan değeri 0-1023 aralığından 0-180 derece aralığına dönüştür
  int aci = map(deger, 0, 1023, 0, 180);  

  // Servo motoru hesaplanan açıya çevir
  myservo.write(aci);  

  // 15 ms bekleme, servo motorun hareketini düzgün yapmasını sağlar
  delay(15);
}

Proje 8: Ultrasonik Mesafe Ölçer

Bağlantı Detayları

HC-SR04 Ultrasonik Sensör Bağlantıları:

VCC → 5V (Kırmızı kablo)

GND → GND (Siyah kablo)

Trig → D9 (Yeşil kablo)

Echo → D10 (Yeşil kablo)

Proje Açıklaması

Bu projede HC-SR04 ultrasonik mesafe sensörü kullanarak iki cisim arasındaki mesafeyi ölçen bir sistem yapacağız. HC-SR04 modülü ses dalgalarıyla mesafe ölçer; Arduino tetikleme sinyali gönderir ve modülün yansıyan sinyali algılamasıyla mesafeyi hesaplarız. Ölçülen mesafeyi seri port ekranında santimetre cinsinden yazdıracağız​.İsterseniz belirli bir mesafeden yakınsa bir LED yakıp uzağında söndürmek gibi görsel çıktı da eklenebilir. Bu proje ile zaman ölçümü ve fiziksel hesaplama (ses hızı ile mesafe) yapmayı, dijital giriş/çıkış senkron kontrolünü öğrenirsiniz.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • HC-SR04 ultrasonik mesafe sensör modülü
  • Bağlantı kabloları
// HC-SR04 Ultrasonik Sensör Bağlantıları
const int trigPin = 9;  // Trig pini (Sinyal gönderme pini)
const int echoPin = 10; // Echo pini (Sinyal geri dönüş pini)

void setup() {
  Serial.begin(9600);        // Seri haberleşmeyi başlat (9600 baud)
  pinMode(trigPin, OUTPUT);  // Trig pinini çıkış olarak ayarla
  pinMode(echoPin, INPUT);   // Echo pinini giriş olarak ayarla
}

void loop() {
  long sure;   // Ses dalgasının gidip gelme süresi (mikrosaniye cinsinden)
  float mesafe; // Hesaplanan mesafe (cm cinsinden)

  // Trig pinini önce LOW yapıp kısa bir bekleme ile sıfırla
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // 10 mikrosaniye boyunca HIGH yaparak ultrasonik sinyal gönder
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Echo pininden gelen sinyalin süresini ölç (mikrosaniye cinsinden)
  sure = pulseIn(echoPin, HIGH);

  // Mesafeyi hesapla
  // Ses hızı: 343 m/s = 0.0343 cm/mikrosaniye
  // Mesafe = (Sesin gidip gelme süresi * Ses hızı) / 2
  mesafe = sure * 0.0343 / 2;

  // Hesaplanan mesafeyi seri monitöre yazdır
  Serial.print("Mesafe: ");
  Serial.print(mesafe);
  Serial.println(" cm");

  delay(500); // Okumalar arasında 500 ms bekleme
}

Proje 9: 16×2 LCD Ekran ile Mesaj Gösterimi

Bağlantı Detayları

LCD Ekran (16×2) Bağlantıları:

VCC → 5V (Kırmızı kablo)

GND → GND (Siyah kablo)

V0 (Kontrast Ayarı) → Potansiyometrenin orta bacağı

RS → D7 (Yeşil kablo)

RW → GND

E → D6 (Yeşil kablo)

D4 → D5 (Yeşil kablo)

D5 → D4 (Yeşil kablo)

D6 → D3 (Yeşil kablo)

D7 → D2 (Yeşil kablo)

A (Anot – Arka Işık) → 5V

K (Katot – Arka Işık GND) → GND

Potansiyometre Bağlantıları:

Orta bacak → LCD’nin V0 (Kontrast) pinine

Bir kenar bacak → 5V

Diğer kenar bacak → GND

Proje Açıklaması

Bu projede Arduino’ya yaygın olarak bağlanan 16×2 karakter LCD ekranı kullanacağız. LCD’ye “Hello World” gibi bir metin yazdırarak Arduino’nun bir ekrana nasıl çıktı verebileceğini öğreneceğiz. 16 sütun 2 satır bir LCD modülü, Hitachi HD44780 uyumlu sürücü içerir ve Arduino’nun LiquidCrystal kütüphanesi ile kolaylıkla kontrol edilebilir. Bu proje ile paralel ara birimli bir ekranın bağlanmasını, kütüphane kullanarak komut gönderimini ve metin görüntülemeyi pratik edeceğiz. Sonuç olarak, sensör verilerini veya mesajları kullanıcıya gösterebileceğimiz bir bileşeni öğrenmiş olacağız.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • 16×2 LCD ekran
  • 10kΩ potansiyometre (LCD kontrast ayarı için, LCD’nin VO pinine bağlanacak)
  • 220Ω direnç (LCD arka ışığı için, genelde LED+ pinine seri)
  • Bağlantı Kabloları
#include <LiquidCrystal.h>  // LCD ekran için kütüphane ekleniyor

// LCD ekranın bağlantı pinleri tanımlanıyor (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);  // 16 sütun ve 2 satırdan oluşan LCD ekranı başlat

  lcd.print("Hello, Arduino!");  // LCD'nin ilk satırına mesaj yazdır

  lcd.setCursor(0, 1);  // İmleci 2. satırın başına al
  lcd.print("Merhaba :)");  // 2. satıra mesaj yazdır
}

void loop() {
  // loop() fonksiyonu boş bırakıldı, mesaj ekranda sabit kalacak
}

Proje 10: Arduino ile Trafik Işığı Simülasyonu

Bağlantı Detayları

Kırmızı LED Bağlantısı:

Anot (+) → D13 (Direnç üzerinden)

Katot (-) → GND

Sarı LED Bağlantısı:

Anot (+) → D12 (Direnç üzerinden)

Katot (-) → GND

Yeşil LED Bağlantısı:

Anot (+) → D11 (Direnç üzerinden)

Katot (-) → GND

Proje Açıklaması

Bu projede kırmızı, sarı ve yeşil LED’leri kullanarak bir trafik lambası düzeneği yapacağız. Arduino, bu üç LED’i gerçek bir trafik ışığı döngüsüne uygun olarak sırayla yakıp söndürecek.Önce yeşil yanar (örn. 5 saniye), sonra sarı (2 saniye), sonra kırmızı (5 saniye) ve döngü tekrarlanır​.Bu proje, Arduino ile zamanlama ve birden fazla çıkışın kontrol edilmesi konusunda pratiktir. Ayrıca delay fonksiyonlarının kullanımını ve basit bir döngüsel algoritmayı pekiştirir. Sonuçta, yaya geçidi veya kavşak maketi gibi görsel bir uygulama elde etmiş oluruz.

Kullanılan Bileşenler

  • Arduino Uno (veya uyumlu bir kart)
  • 1× kırmızı LED, 1× sarı LED, 1× yeşil LED
  • 3× 220Ω direnç (her LED için bir adet)
  • Bağlantı Kabloları
// Trafik Işığı Simülasyonu

// LED'lerin bağlandığı pinleri tanımlıyoruz
const int redLed = 13;   // Kırmızı LED
const int yellowLed = 12; // Sarı LED
const int greenLed = 11;  // Yeşil LED

void setup() {
  // LED pinlerini çıkış (OUTPUT) olarak ayarlıyoruz
  pinMode(redLed, OUTPUT);
  pinMode(yellowLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
}

void loop() {
  // Kırmızı ışık yanar (Durdur işareti)
  digitalWrite(redLed, HIGH);  // Kırmızı LED yanar
  digitalWrite(yellowLed, LOW); // Sarı LED sönük
  digitalWrite(greenLed, LOW);  // Yeşil LED sönük
  delay(5000); // 5 saniye kırmızı yanık kalır

  // Sarı ışık yanar (Geçiş uyarısı)
  digitalWrite(redLed, LOW);    // Kırmızı LED sönük
  digitalWrite(yellowLed, HIGH); // Sarı LED yanar
  digitalWrite(greenLed, LOW);   // Yeşil LED sönük
  delay(2000); // 2 saniye sarı yanık kalır

  // Yeşil ışık yanar (Geçiş izni)
  digitalWrite(redLed, LOW);    // Kırmızı LED sönük
  digitalWrite(yellowLed, LOW); // Sarı LED sönük
  digitalWrite(greenLed, HIGH); // Yeşil LED yanar
  delay(5000); // 5 saniye yeşil yanık kalır

  // Sarı ışık tekrar yanar (Yeşilden kırmızıya geçiş uyarısı)
  digitalWrite(redLed, LOW);    // Kırmızı LED sönük
  digitalWrite(yellowLed, HIGH); // Sarı LED yanar
  digitalWrite(greenLed, LOW);   // Yeşil LED sönük
  delay(2000); // 2 saniye sarı yanık kalır

  // Döngü başa döner ve trafik ışığı sırasıyla tekrar çalışır
}

robotdevre

Elektrik mühendisi ve Robot Devre'nin kurucusuyum. Elektrik, elektronik ve mikroişlemciler hakkında bilgiler ve yenilikçi projeler sunuyorum. Amacım, teknoloji tutkunuzu ateşlemek ve bu alandaki yolculuğunuzda size ilham vermek.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu